In modern telecommunication systems, a call-processing system is responsible for processing call requests received from the network. Call requests are received by the call-processing system via signaling messages. For instance, in a wireless communications network, a voice and/or data call request from a mobile station is sent as an air interface message to a serving base station, which in turn transmits the air interface message to a mobile switching center (MSC) via signaling links connecting the base station to the MSC. The call request is processed in the call-processing system of the MSC.
The capacity requirement for a call-processing system varies depending on the call traffic generated by the network. For example, in metropolitan areas, a high capacity call-processing system may be needed, while in rural areas, a smaller capacity call-processing system may be sufficient. However, due to population growth and the general trend of migration from rural areas to metropolitan areas, scalable call-processing systems that allow capacity fluctuation as requirements change are desirable to both the manufacturer and call-processing system operator. For manufacturers, scalable call-processing systems translate into minimal development costs. For operators, scalable call-processing systems translate into lower procurement and operating costs.
In order to provide increased capacity, conventional call-processing systems have recently been designed as distributed computing environments in which processing power is provided by multiple processing nodes. For instance, a distributed call-processing system has been developed that shares a common memory space containing all available call-processing resources between the multiple processing nodes. However, the scalability of such a system is limited by the bandwidth of the memory space. Another available distributed call-processing system partitions the call-processing functions between the multiple processing nodes. Scalability is difficult to achieve in such a system due to the complexity of redistributing traffic when a new processing node is added to the system.
Therefore, there is a need in the art for an improved scalable call-processing system and method for use in a distributed processing environment.